<chapter xml:id="general-structure">
<title>Общая структура и использование</title>

<p>Структурными единицами самого верхнего уровня в библиотеке являются
заголовочные файлы и файл библиотеки (или архив) - <tt>lib__vic.a</tt> или
<tt>__vic.lib</tt>. Обычно файл библиотеки имеет дополнительный суффикс,
вроде <tt>lib__vic14.a</tt>. Все заголовочные файлы располагаются в подкаталоге
<tt>__vic/</tt>. Включать их следует следующим образом:</p>

<code-block lang="C++">
#include &lt;__vic/<nt>header.h</nt>>
</code-block>

<p>Где <tt><nt>header.h</nt></tt> - это имя нужного заголовочного файла.</p>

<p>Практически весь код находится внутри пространства имён <tt>__vic</tt>,
включая другие пространства имён.</p>

<p>При компоновке программы, нужно подсунуть компоновщику файл библиотеки.
Например:</p>

<tty>
$ g++ -std=c++14 prog.cpp -l__vic14
</tty>

<p>Библиотека может быть собрана с использованием одного из стандартов ISO C++:
C++98, C++11, C++14, C++17, C++20 или C++23. Суффикс стандарта используется в
качестве суффикса файла библиотеки (архива).</p>

<p>Некоторые компоненты библиотеки требуют какую-то минимальную версию
стандарта, например многие требуют использования как минимум C++11. Такие
компоненты помечаются значком <badge>C++11</badge>, который означает «C++11 или
более старшие версии».</p>

<p>Некоторые компоненты библиотеки доступны только для какой-то конкретной
версии стандарта и не доступны для других. Такие компоненты помечаются значком
<badge>C++98 only</badge>.</p>

<p>Детальное описание компонентов библиотеки приведено в последующих главах.
Описание сгруппировано по заголовочным файлам. В основном используется синтаксис
C++23, как более богатый и выразительный.</p>

</chapter>
